# encoding=utf-8

class SegCudaBaseException(Exception):
    def __init__(self, *args):
        self.args = args

    def __str__(self):
        return self.args


class ShapeNotTheSameException(SegCudaBaseException):
    def __init__(self, message: str = ''):
        self.message = "input mat is not the same: \n {}".format(message)

    def __str__(self):
        return self.message


class ElementIsNotEnoughException(SegCudaBaseException):
    def __init__(self, message: str = ""):
        self.message = "input element is not enough: \n {}".format(message)

    def __str__(self):
        return self.message


class MatSizeOutOfRangeException(SegCudaBaseException):
    def __init__(self, message: str = ""):
        self.message = "Combine mat out of max device support: \n {}".format(message)

    def __str__(self):
        return self.message
